# -*- coding:utf-8 -*-

"""
单向链表
    链表的基本形式是：1->2->3->null，反转需要变为3->2->1->null
    注意：
        （1）访问某个结点curt.next时，要验证curt是否为null
        （2）要把反转后的最后一个节点（即反转前的第一个节点）指向null
"""
class ListNode:
    def __init__(self, val):
        self.val = val
        self.next = None

    # 反转链表
    def reverse(self, head):
        prev = None
        while head:
            temp = head.next
            head.next = prev
            prev = head
            head = temp
        return prev